package cn.wolfcode.wolf2world.utils;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.PutObjectRequest;
import org.apache.commons.io.FilenameUtils;
import org.springframework.web.multipart.MultipartFile;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.util.UUID;

/**
 * @author 杨兴健
 * @Date 2020/8/13 20:24
 */
public class LoadFileUtil {

        //阿里域名
        public static final String ALI_DOMAIN = "https://wolf2world-jian.oss-cn-shenzhen.aliyuncs.com/";

        public static String uploadAli(MultipartFile file) throws Exception {
            //生成文件名称
            String uuid = UUID.randomUUID().toString();
            //获取真实文件名称 xxx.jpg
            String orgFileName = file.getOriginalFilename();
            //获取拓展名字.jpg
            String ext= "." + FilenameUtils.getExtension(orgFileName);
            //xxxxxsfsasa.jpg
            String fileName =uuid + ext;

            // Endpoint以杭州为例，其它Region请按实际情况填写。
            String endpoint = "http://oss-cn-shenzhen.aliyuncs.com";
            // 云账号AccessKey有所有API访问权限，建议遵循阿里云安全最佳实践，创建并使用RAM子账号进行API访问或日常运维，
            // 请登录 https://ram.console.aliyun.com 创建。
            String accessKeyId = "LTAI4G2ScAdLycXA1SzWV1gn";
            String accessKeySecret = "NyLa5aUdICOxf4QLeoc8NUXI4wy3py";
            // 创建OSSClient实例。
            OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId,accessKeySecret);
            // 上传文件流。
            ossClient.putObject("wolf2world-jian", fileName, file.getInputStream());
            // 关闭OSSClient。
            ossClient.shutdown();
            return ALI_DOMAIN + fileName;
        }


}
